#ifndef _TD_COLOR_H_
#define _TD_COLOR_H_

/************************************************************************/
/* SDL                                                                  */
/************************************************************************/
#include "SDL/SDL.h"

namespace TD_Core {

	class Color {

	public:
		
		//Coloring vars
		unsigned char m_red;
		unsigned char m_green;
		unsigned char m_blue;
		unsigned char m_alpha;
		
		/************************************************************************/
		/* Static definitions                                                   */
		/************************************************************************/
		const static Color RED;
		const static Color BLUE;
		const static Color GREEN;
		const static Color PINK;
		const static Color YELLOW;
		const static Color CYAN;
		const static Color BLACK;
		const static Color WHITE;

		/************************************************************************/
		/* ctors and dtors					                                    */
		/************************************************************************/
		//Default constructor
		explicit Color();

		//Copy constructor
		explicit Color(const Color &rhs);
		explicit Color(SDL_Color &rhs);

		//Assignment constructor
		Color & operator=(const Color & rhs);
		Color & operator=(const SDL_Color &rhs);
		
		//Initialization constructor
		explicit Color(unsigned char r,  unsigned char g, unsigned char b, unsigned char a = 0);

		//Destructor
		~Color();
		

	};
}
#endif